<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IRremoteESP8266: src/ir_Carrier.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IRremoteESP8266
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ir_Carrier.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ir__Carrier_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright 2020-2022 David Conran</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// Supports:</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 42QG5A55970 remote</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0090E0 A/C</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0120E0 A/C</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0180E0 A/C</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 619EGX0220E0 A/C</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//   Brand: Carrier/Surrey,  Model: 53NGK009/012 Inverter</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">//   Brand: Carrier,  Model: 40GKX0E2006 remote (CARRIER_AC128)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//   Brand: Carrier,  Model: 3021203 RR03-S-Remote (CARRIER_AC84)</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//   Brand: Carrier,  Model: 342WM100CT A/C (CARRIER_AC84)</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifndef IR_CARRIER_H_</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#define IR_CARRIER_H_</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define __STDC_LIMIT_MACROS</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;Arduino.h&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="IRsend_8h.html">IRsend.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifdef UNIT_TEST</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;IRsend_test.h&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html">   35</a></span>&#160;<span class="keyword">union </span><a class="code" href="unionCarrierProtocol.html">CarrierProtocol</a> {</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a1a09f5c8340a2e7e074a332bf4906dfd">   36</a></span>&#160;  uint64_t <a class="code" href="unionCarrierProtocol.html#a1a09f5c8340a2e7e074a332bf4906dfd">raw</a>;  </div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="comment">// Byte 0</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a8187ddda3722f75d7260b9a20147b2d3">   39</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// Byte 1</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a344e5a62f7624bdc8d6b53c89d53ff01">   41</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="comment">// Byte 2</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#acbbf207e7a0e79d74713e6f8598c16c2">   43</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#acbbf207e7a0e79d74713e6f8598c16c2">Sum</a>:4;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a5fed7d2b743b55fb9a95293f026a9c24">   44</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a5fed7d2b743b55fb9a95293f026a9c24">Mode</a>:2;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#ab7e563e2015627a65259b0190908034b">   45</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#ab7e563e2015627a65259b0190908034b">Fan</a>:2;</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="comment">// Byte 3</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a43fb183022e8b4aef36bee0cb0cd9aaa">   47</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a43fb183022e8b4aef36bee0cb0cd9aaa">Temp</a>:4;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#aac511fa89b32f24a01d179c37fffc2fa">   48</a></span>&#160;    uint8_t :1;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a9d08c75d7f8357139cd3d844cf29ca22">   49</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a9d08c75d7f8357139cd3d844cf29ca22">SwingV</a>:1;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a50193ce74f535d6dad154a96f54adb48">   50</a></span>&#160;    uint8_t :2;</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="comment">// Byte 4</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#ade0f53c0cd05eaad14f0a3f0121e7b5e">   52</a></span>&#160;    uint8_t :4;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a9f039bf33bbe868118f14c28d6731718">   53</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a9f039bf33bbe868118f14c28d6731718">Power</a>:1;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a15e27c0710c706b2f1e8227a962fc722">   54</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a15e27c0710c706b2f1e8227a962fc722">OffTimerEnable</a>:1;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#aadf3236a9a5883fc7f263516be951e0c">   55</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#aadf3236a9a5883fc7f263516be951e0c">OnTimerEnable</a>:1;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a957ac027dec4e1942d88ac8f7bcbc767">   56</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a957ac027dec4e1942d88ac8f7bcbc767">Sleep</a>:1;</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">// Byte 5</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a635772a0e49e2a82b7e665b1f8d42148">   58</a></span>&#160;    uint8_t :8;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="comment">// Byte 6</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a683b70f292ffed7253b8956225a71a51">   60</a></span>&#160;    uint8_t :4;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a8b66fd8c444395f14d663000ea5a27ee">   61</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a8b66fd8c444395f14d663000ea5a27ee">OnTimer</a>:4;</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="comment">// Byte 7</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a21fe681b7a9b1a507d03b6eef716f57d">   63</a></span>&#160;    uint8_t :4;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="unionCarrierProtocol.html#a42fcd3b5c796076fa372985b3b1cd473">   64</a></span>&#160;    uint8_t <a class="code" href="unionCarrierProtocol.html#a42fcd3b5c796076fa372985b3b1cd473">OffTimer</a>:4;</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  };</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;};</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">// Constants</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// CARRIER_AC64</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">   71</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">kCarrierAc64ChecksumOffset</a> = 16;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">   72</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">kCarrierAc64ChecksumSize</a> = 4;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#ac261ba8bff6f103bb9043c85a6f21d58">   73</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#ac261ba8bff6f103bb9043c85a6f21d58">kCarrierAc64Heat</a> = 0b01;  <span class="comment">// 1</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aa75d5965da484d09f6f4c645cdb23869">   74</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aa75d5965da484d09f6f4c645cdb23869">kCarrierAc64Cool</a> = 0b10;  <span class="comment">// 2</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a57655ceea762b18e0dd96724ddf888bd">   75</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a57655ceea762b18e0dd96724ddf888bd">kCarrierAc64Fan</a> =  0b11;  <span class="comment">// 3</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a12d1fb295a0d9cf407040ab544acc245">   76</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a12d1fb295a0d9cf407040ab544acc245">kCarrierAc64FanAuto</a> =    0b00;  <span class="comment">// 0</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aaeee61e5924bdc8028c4775f96ba14d2">   77</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aaeee61e5924bdc8028c4775f96ba14d2">kCarrierAc64FanLow</a> =     0b01;  <span class="comment">// 1</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aeb8943f8d9f2bd95a9df6500eea7cba4">   78</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aeb8943f8d9f2bd95a9df6500eea7cba4">kCarrierAc64FanMedium</a> =  0b10;  <span class="comment">// 2</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a099f2e82998bd78d25cec17a4be5f230">   79</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a099f2e82998bd78d25cec17a4be5f230">kCarrierAc64FanHigh</a> =    0b11;  <span class="comment">// 3</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a9e7a88bf52839ecb34da1966bb8a956b">   80</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a9e7a88bf52839ecb34da1966bb8a956b">kCarrierAc64MinTemp</a> = 16;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a5653bc180a4c849b5e0b33b957255ae4">   81</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a5653bc180a4c849b5e0b33b957255ae4">kCarrierAc64MaxTemp</a> = 30;  <span class="comment">// Celsius</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#a78a34b51e51dc3b4129f350673c9fa96">   82</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#a78a34b51e51dc3b4129f350673c9fa96">kCarrierAc64TimerMax</a> = 9;  <span class="comment">// Hours.</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="ir__Carrier_8h.html#aeebac3e61246f2e148806d4b4e8ac13e">   83</a></span>&#160;<span class="keyword">const</span> uint8_t <a class="code" href="ir__Carrier_8h.html#aeebac3e61246f2e148806d4b4e8ac13e">kCarrierAc64TimerMin</a> = 1;  <span class="comment">// Hours.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// Classes</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html">   89</a></span>&#160;<span class="keyword">class </span><a class="code" href="classIRCarrierAc64.html">IRCarrierAc64</a> {</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="classIRCarrierAc64.html#ac225c0f24a0e385a145375ff447ab79b">IRCarrierAc64</a>(<span class="keyword">const</span> uint16_t pin, <span class="keyword">const</span> <span class="keywordtype">bool</span> inverted = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;                         <span class="keyword">const</span> <span class="keywordtype">bool</span> use_modulation = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#abe58c8f97ab4c34fd0cf198b07589694">stateReset</a>();</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#if SEND_CARRIER_AC64</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#aace8aa2d125c6e80bcdd6d96eac722c2">send</a>(<span class="keyword">const</span> uint16_t repeat = <a class="code" href="IRremoteESP8266_8h.html#a8b2b3670dc74ce9fbf3c8b511422a06c">kCarrierAc64MinRepeat</a>);</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html#a0718376156750e66f98ea0549c75b21b">  101</a></span>&#160;  int8_t <a class="code" href="classIRCarrierAc64.html#a0718376156750e66f98ea0549c75b21b">calibrate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">_irsend</a>.<a class="code" href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">calibrate</a>(); }</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#endif  // SEND_CARRIER_AC64</span></div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a7d9800edffad8a529971535ada5c00ad">begin</a>();</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRCarrierAc64.html#a20676dcf4b0a6510cc3bce282fbf8504">calcChecksum</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#affa23f178e079cd3a6c933240759fe80">validChecksum</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a8acf59cbf3b02381b5188324030b7727">setPower</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a75ed9bf7501a31b74dcd42723e85b184">on</a>);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a61422ae8089453a26f1eea4fc0a57489">getPower</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a75ed9bf7501a31b74dcd42723e85b184">on</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#af11d8ea5ac93cbf2d9fe1419729168a5">off</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a79e193514ac6d07be537a78887426311">setTemp</a>(<span class="keyword">const</span> uint8_t temp);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a38583e54e47ae08b2ce3469f55797e63">getTemp</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a61a3f9f29cabc0634a9a74fc2227d8c5">setSwingV</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a75ed9bf7501a31b74dcd42723e85b184">on</a>);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a22e14700eb0efe9f28c8008297a21ced">getSwingV</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#aa729dbef39afeeed8e83f26b927d3b21">setSleep</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#a75ed9bf7501a31b74dcd42723e85b184">on</a>);</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classIRCarrierAc64.html#ae999122072e0dd1e9b83120292bc6256">getSleep</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a312027468b508e9d38dd9e23ee99f9e4">setFan</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a0426f9c043b65b0d0d870f7ef5474ed9">getFan</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#ae462eeec49ff91358f1b9921750ee36d">setMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  uint8_t <a class="code" href="classIRCarrierAc64.html#a554d655ebd58aa90375cad18de24cc0d">getMode</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a9049a8d91200b878cc2a1b9b80a280ea">setOnTimer</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  uint16_t <a class="code" href="classIRCarrierAc64.html#a57f606d89eb29dafc18a2461467ad74f">getOnTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a92b1066e783db1bdffabfdc57699deef">setOffTimer</a>(<span class="keyword">const</span> uint16_t nr_of_mins);</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  uint16_t <a class="code" href="classIRCarrierAc64.html#ae777fcdb402eb862a1e4a5912ff39fae">getOffTimer</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  uint64_t <a class="code" href="classIRCarrierAc64.html#a6f83fc571d5d7d3e3af2237367e66884">getRaw</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#af49cf0b53bf8ff946a63bae94be0251d">setRaw</a>(<span class="keyword">const</span> uint64_t state);</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRCarrierAc64.html#a8e94b1526b26cec55f1e700c86aaf74e">convertMode</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> mode);</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keyword">static</span> uint8_t <a class="code" href="classIRCarrierAc64.html#a255e6679397434877f1c6c9ac70fff50">convertFan</a>(<span class="keyword">const</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> speed);</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a> <a class="code" href="classIRCarrierAc64.html#ab17b24d0306b8983886d15175898909e">toCommonMode</a>(<span class="keyword">const</span> uint8_t mode);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a> <a class="code" href="classIRCarrierAc64.html#a5a9149acc82fcc22a5be8dcbe791ab77">toCommonFanSpeed</a>(<span class="keyword">const</span> uint8_t speed);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <a class="code" href="structstdAc_1_1state__t.html">stdAc::state_t</a> <a class="code" href="classIRCarrierAc64.html#a6cef4a532c3f4c961500e51598a6df80">toCommon</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <a class="code" href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a> <a class="code" href="classIRCarrierAc64.html#a2807d30650f50653118dad5d10c52921">toString</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#ifndef UNIT_TEST</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">  135</a></span>&#160;  <a class="code" href="classIRsend.html">IRsend</a> <a class="code" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">_irsend</a>;  </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  IRsendTest <a class="code" href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">_irsend</a>;  </div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classIRCarrierAc64.html#a79ddb0fb877232a581d0142949a7c356">  141</a></span>&#160;  <a class="code" href="unionCarrierProtocol.html">CarrierProtocol</a> <a class="code" href="classIRCarrierAc64.html#a79ddb0fb877232a581d0142949a7c356">_</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a005fab56acf94fe97db7fa92651b2882">checksum</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a43e7be5a1a6fe2dbfe245e99d2205779">_cancelOnTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classIRCarrierAc64.html#a4a0fdf34836b1c954b27c9b242324679">_cancelOffTimer</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;};</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#endif  // IR_CARRIER_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="air__Carrier_8h_html_a9e7a88bf52839ecb34da1966bb8a956b"><div class="ttname"><a href="ir__Carrier_8h.html#a9e7a88bf52839ecb34da1966bb8a956b">kCarrierAc64MinTemp</a></div><div class="ttdeci">const uint8_t kCarrierAc64MinTemp</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:80</div></div>
<div class="ttc" id="air__Carrier_8h_html_aeebac3e61246f2e148806d4b4e8ac13e"><div class="ttname"><a href="ir__Carrier_8h.html#aeebac3e61246f2e148806d4b4e8ac13e">kCarrierAc64TimerMin</a></div><div class="ttdeci">const uint8_t kCarrierAc64TimerMin</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:83</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a75ed9bf7501a31b74dcd42723e85b184"><div class="ttname"><a href="classIRCarrierAc64.html#a75ed9bf7501a31b74dcd42723e85b184">IRCarrierAc64::on</a></div><div class="ttdeci">void on(void)</div><div class="ttdoc">Change the power setting to On.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:330</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a8acf59cbf3b02381b5188324030b7727"><div class="ttname"><a href="classIRCarrierAc64.html#a8acf59cbf3b02381b5188324030b7727">IRCarrierAc64::setPower</a></div><div class="ttdeci">void setPower(const bool on)</div><div class="ttdoc">Change the power setting.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:319</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a957ac027dec4e1942d88ac8f7bcbc767"><div class="ttname"><a href="unionCarrierProtocol.html#a957ac027dec4e1942d88ac8f7bcbc767">CarrierProtocol::Sleep</a></div><div class="ttdeci">uint8_t Sleep</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:56</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a38583e54e47ae08b2ce3469f55797e63"><div class="ttname"><a href="classIRCarrierAc64.html#a38583e54e47ae08b2ce3469f55797e63">IRCarrierAc64::getTemp</a></div><div class="ttdeci">uint8_t getTemp(void) const</div><div class="ttdoc">Get the current temperature from the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:313</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a005fab56acf94fe97db7fa92651b2882"><div class="ttname"><a href="classIRCarrierAc64.html#a005fab56acf94fe97db7fa92651b2882">IRCarrierAc64::checksum</a></div><div class="ttdeci">void checksum(void)</div><div class="ttdoc">Calculate and set the checksum values for the internal state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:277</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a6cef4a532c3f4c961500e51598a6df80"><div class="ttname"><a href="classIRCarrierAc64.html#a6cef4a532c3f4c961500e51598a6df80">IRCarrierAc64::toCommon</a></div><div class="ttdeci">stdAc::state_t toCommon(void) const</div><div class="ttdoc">Convert the A/C state to it's common stdAc::state_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:533</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ac225c0f24a0e385a145375ff447ab79b"><div class="ttname"><a href="classIRCarrierAc64.html#ac225c0f24a0e385a145375ff447ab79b">IRCarrierAc64::IRCarrierAc64</a></div><div class="ttdeci">IRCarrierAc64(const uint16_t pin, const bool inverted=false, const bool use_modulation=true)</div><div class="ttdoc">Class constructor.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:246</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_ab7e563e2015627a65259b0190908034b"><div class="ttname"><a href="unionCarrierProtocol.html#ab7e563e2015627a65259b0190908034b">CarrierProtocol::Fan</a></div><div class="ttdeci">uint8_t Fan</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:45</div></div>
<div class="ttc" id="anamespacestdAc_html_a8bb0dbf18fe69f639f4ac0b3ff133383"><div class="ttname"><a href="namespacestdAc.html#a8bb0dbf18fe69f639f4ac0b3ff133383">stdAc::fanspeed_t</a></div><div class="ttdeci">fanspeed_t</div><div class="ttdoc">Common A/C settings for Fan Speeds.</div><div class="ttdef"><b>Definition:</b> IRsend.h:61</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a8b66fd8c444395f14d663000ea5a27ee"><div class="ttname"><a href="unionCarrierProtocol.html#a8b66fd8c444395f14d663000ea5a27ee">CarrierProtocol::OnTimer</a></div><div class="ttdeci">uint8_t OnTimer</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:61</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a15e27c0710c706b2f1e8227a962fc722"><div class="ttname"><a href="unionCarrierProtocol.html#a15e27c0710c706b2f1e8227a962fc722">CarrierProtocol::OffTimerEnable</a></div><div class="ttdeci">uint8_t OffTimerEnable</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:54</div></div>
<div class="ttc" id="air__Carrier_8h_html_ac261ba8bff6f103bb9043c85a6f21d58"><div class="ttname"><a href="ir__Carrier_8h.html#ac261ba8bff6f103bb9043c85a6f21d58">kCarrierAc64Heat</a></div><div class="ttdeci">const uint8_t kCarrierAc64Heat</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:73</div></div>
<div class="ttc" id="aIRsend_8h_html"><div class="ttname"><a href="IRsend_8h.html">IRsend.h</a></div></div>
<div class="ttc" id="aclassIRsend_html"><div class="ttname"><a href="classIRsend.html">IRsend</a></div><div class="ttdoc">Class for sending all basic IR protocols.</div><div class="ttdef"><b>Definition:</b> IRsend.h:237</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a43e7be5a1a6fe2dbfe245e99d2205779"><div class="ttname"><a href="classIRCarrierAc64.html#a43e7be5a1a6fe2dbfe245e99d2205779">IRCarrierAc64::_cancelOnTimer</a></div><div class="ttdeci">void _cancelOnTimer(void)</div><div class="ttdoc">Clear the On Timer enable bit.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:450</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a7d9800edffad8a529971535ada5c00ad"><div class="ttname"><a href="classIRCarrierAc64.html#a7d9800edffad8a529971535ada5c00ad">IRCarrierAc64::begin</a></div><div class="ttdeci">void begin()</div><div class="ttdoc">Set up hardware to be able to send a message.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:282</div></div>
<div class="ttc" id="air__Carrier_8h_html_aa75d5965da484d09f6f4c645cdb23869"><div class="ttname"><a href="ir__Carrier_8h.html#aa75d5965da484d09f6f4c645cdb23869">kCarrierAc64Cool</a></div><div class="ttdeci">const uint8_t kCarrierAc64Cool</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:74</div></div>
<div class="ttc" id="aclassIRsend_html_ad1776aa6c699f9eeca1eef9bb4fe355b"><div class="ttname"><a href="classIRsend.html#ad1776aa6c699f9eeca1eef9bb4fe355b">IRsend::calibrate</a></div><div class="ttdeci">int8_t calibrate(uint16_t hz=38000U)</div><div class="ttdoc">Calculate &amp; set any offsets to account for execution times during sending.</div><div class="ttdef"><b>Definition:</b> IRsend.cpp:207</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ab17b24d0306b8983886d15175898909e"><div class="ttname"><a href="classIRCarrierAc64.html#ab17b24d0306b8983886d15175898909e">IRCarrierAc64::toCommonMode</a></div><div class="ttdeci">static stdAc::opmode_t toCommonMode(const uint8_t mode)</div><div class="ttdoc">Convert a native mode to it's common stdAc::opmode_t equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:369</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_afbeda3fd1bdc8c37d01bdf9f5c8274ff"><div class="ttname"><a href="IRremoteESP8266_8h.html#afbeda3fd1bdc8c37d01bdf9f5c8274ff">String</a></div><div class="ttdeci">std::string String</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1521</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ae777fcdb402eb862a1e4a5912ff39fae"><div class="ttname"><a href="classIRCarrierAc64.html#ae777fcdb402eb862a1e4a5912ff39fae">IRCarrierAc64::getOffTimer</a></div><div class="ttdeci">uint16_t getOffTimer(void) const</div><div class="ttdoc">Get the current Off Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:486</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a79e193514ac6d07be537a78887426311"><div class="ttname"><a href="classIRCarrierAc64.html#a79e193514ac6d07be537a78887426311">IRCarrierAc64::setTemp</a></div><div class="ttdeci">void setTemp(const uint8_t temp)</div><div class="ttdoc">Set the temp in deg C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:305</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_aace8aa2d125c6e80bcdd6d96eac722c2"><div class="ttname"><a href="classIRCarrierAc64.html#aace8aa2d125c6e80bcdd6d96eac722c2">IRCarrierAc64::send</a></div><div class="ttdeci">void send(const uint16_t repeat=kCarrierAc64MinRepeat)</div><div class="ttdoc">Send the current internal state as an IR message.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:287</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a255e6679397434877f1c6c9ac70fff50"><div class="ttname"><a href="classIRCarrierAc64.html#a255e6679397434877f1c6c9ac70fff50">IRCarrierAc64::convertFan</a></div><div class="ttdeci">static uint8_t convertFan(const stdAc::fanspeed_t speed)</div><div class="ttdoc">Convert a stdAc::fanspeed_t enum into it's native speed.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:395</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a92b1066e783db1bdffabfdc57699deef"><div class="ttname"><a href="classIRCarrierAc64.html#a92b1066e783db1bdffabfdc57699deef">IRCarrierAc64::setOffTimer</a></div><div class="ttdeci">void setOffTimer(const uint16_t nr_of_mins)</div><div class="ttdoc">Set the Off Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:497</div></div>
<div class="ttc" id="air__Carrier_8h_html_a78a34b51e51dc3b4129f350673c9fa96"><div class="ttname"><a href="ir__Carrier_8h.html#a78a34b51e51dc3b4129f350673c9fa96">kCarrierAc64TimerMax</a></div><div class="ttdeci">const uint8_t kCarrierAc64TimerMax</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:82</div></div>
<div class="ttc" id="air__Carrier_8h_html_a099f2e82998bd78d25cec17a4be5f230"><div class="ttname"><a href="ir__Carrier_8h.html#a099f2e82998bd78d25cec17a4be5f230">kCarrierAc64FanHigh</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanHigh</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:79</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html"><div class="ttname"><a href="IRremoteESP8266_8h.html">IRremoteESP8266.h</a></div></div>
<div class="ttc" id="aunionCarrierProtocol_html"><div class="ttname"><a href="unionCarrierProtocol.html">CarrierProtocol</a></div><div class="ttdoc">Native representation of a Carrier A/C message.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:35</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a79ddb0fb877232a581d0142949a7c356"><div class="ttname"><a href="classIRCarrierAc64.html#a79ddb0fb877232a581d0142949a7c356">IRCarrierAc64::_</a></div><div class="ttdeci">CarrierProtocol _</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:141</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_affa23f178e079cd3a6c933240759fe80"><div class="ttname"><a href="classIRCarrierAc64.html#affa23f178e079cd3a6c933240759fe80">IRCarrierAc64::validChecksum</a></div><div class="ttdeci">static bool validChecksum(const uint64_t state)</div><div class="ttdoc">Verify the checksum is valid for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:270</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a5fed7d2b743b55fb9a95293f026a9c24"><div class="ttname"><a href="unionCarrierProtocol.html#a5fed7d2b743b55fb9a95293f026a9c24">CarrierProtocol::Mode</a></div><div class="ttdeci">uint8_t Mode</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:44</div></div>
<div class="ttc" id="air__Carrier_8h_html_aeb8943f8d9f2bd95a9df6500eea7cba4"><div class="ttname"><a href="ir__Carrier_8h.html#aeb8943f8d9f2bd95a9df6500eea7cba4">kCarrierAc64FanMedium</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanMedium</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:78</div></div>
<div class="ttc" id="air__Carrier_8h_html_a5653bc180a4c849b5e0b33b957255ae4"><div class="ttname"><a href="ir__Carrier_8h.html#a5653bc180a4c849b5e0b33b957255ae4">kCarrierAc64MaxTemp</a></div><div class="ttdeci">const uint8_t kCarrierAc64MaxTemp</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:81</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html"><div class="ttname"><a href="classIRCarrierAc64.html">IRCarrierAc64</a></div><div class="ttdoc">Class for handling detailed Carrier 64 bit A/C messages.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:89</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a554d655ebd58aa90375cad18de24cc0d"><div class="ttname"><a href="classIRCarrierAc64.html#a554d655ebd58aa90375cad18de24cc0d">IRCarrierAc64::getMode</a></div><div class="ttdeci">uint8_t getMode(void) const</div><div class="ttdoc">Get the operating mode setting of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:337</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a17270f2b1d6cab828e2a51fc23b36437"><div class="ttname"><a href="classIRCarrierAc64.html#a17270f2b1d6cab828e2a51fc23b36437">IRCarrierAc64::_irsend</a></div><div class="ttdeci">IRsend _irsend</div><div class="ttdoc">Instance of the IR send class.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:135</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_abe58c8f97ab4c34fd0cf198b07589694"><div class="ttname"><a href="classIRCarrierAc64.html#abe58c8f97ab4c34fd0cf198b07589694">IRCarrierAc64::stateReset</a></div><div class="ttdeci">void stateReset()</div><div class="ttdoc">Reset the internal state to a fixed known good state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:252</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_af11d8ea5ac93cbf2d9fe1419729168a5"><div class="ttname"><a href="classIRCarrierAc64.html#af11d8ea5ac93cbf2d9fe1419729168a5">IRCarrierAc64::off</a></div><div class="ttdeci">void off(void)</div><div class="ttdoc">Change the power setting to Off.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:333</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a42fcd3b5c796076fa372985b3b1cd473"><div class="ttname"><a href="unionCarrierProtocol.html#a42fcd3b5c796076fa372985b3b1cd473">CarrierProtocol::OffTimer</a></div><div class="ttdeci">uint8_t OffTimer</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:64</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a20676dcf4b0a6510cc3bce282fbf8504"><div class="ttname"><a href="classIRCarrierAc64.html#a20676dcf4b0a6510cc3bce282fbf8504">IRCarrierAc64::calcChecksum</a></div><div class="ttdeci">static uint8_t calcChecksum(const uint64_t state)</div><div class="ttdoc">Calculate the checksum for a given state.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:257</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a0718376156750e66f98ea0549c75b21b"><div class="ttname"><a href="classIRCarrierAc64.html#a0718376156750e66f98ea0549c75b21b">IRCarrierAc64::calibrate</a></div><div class="ttdeci">int8_t calibrate(void)</div><div class="ttdoc">Run the calibration to calculate uSec timing offsets for this platform.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:101</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_acbbf207e7a0e79d74713e6f8598c16c2"><div class="ttname"><a href="unionCarrierProtocol.html#acbbf207e7a0e79d74713e6f8598c16c2">CarrierProtocol::Sum</a></div><div class="ttdeci">uint8_t Sum</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:43</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_af49cf0b53bf8ff946a63bae94be0251d"><div class="ttname"><a href="classIRCarrierAc64.html#af49cf0b53bf8ff946a63bae94be0251d">IRCarrierAc64::setRaw</a></div><div class="ttdeci">void setRaw(const uint64_t state)</div><div class="ttdoc">Set the internal state from a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:301</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a9f039bf33bbe868118f14c28d6731718"><div class="ttname"><a href="unionCarrierProtocol.html#a9f039bf33bbe868118f14c28d6731718">CarrierProtocol::Power</a></div><div class="ttdeci">uint8_t Power</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:53</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a22e14700eb0efe9f28c8008297a21ced"><div class="ttname"><a href="classIRCarrierAc64.html#a22e14700eb0efe9f28c8008297a21ced">IRCarrierAc64::getSwingV</a></div><div class="ttdeci">bool getSwingV(void) const</div><div class="ttdoc">Get the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:426</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a61422ae8089453a26f1eea4fc0a57489"><div class="ttname"><a href="classIRCarrierAc64.html#a61422ae8089453a26f1eea4fc0a57489">IRCarrierAc64::getPower</a></div><div class="ttdeci">bool getPower(void) const</div><div class="ttdoc">Get the value of the current power setting.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:325</div></div>
<div class="ttc" id="air__Carrier_8h_html_a57655ceea762b18e0dd96724ddf888bd"><div class="ttname"><a href="ir__Carrier_8h.html#a57655ceea762b18e0dd96724ddf888bd">kCarrierAc64Fan</a></div><div class="ttdeci">const uint8_t kCarrierAc64Fan</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:75</div></div>
<div class="ttc" id="air__Carrier_8h_html_a0b446c17c4965508f335e68c786f0596"><div class="ttname"><a href="ir__Carrier_8h.html#a0b446c17c4965508f335e68c786f0596">kCarrierAc64ChecksumSize</a></div><div class="ttdeci">const uint8_t kCarrierAc64ChecksumSize</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:72</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a9d08c75d7f8357139cd3d844cf29ca22"><div class="ttname"><a href="unionCarrierProtocol.html#a9d08c75d7f8357139cd3d844cf29ca22">CarrierProtocol::SwingV</a></div><div class="ttdeci">uint8_t SwingV</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:49</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a9049a8d91200b878cc2a1b9b80a280ea"><div class="ttname"><a href="classIRCarrierAc64.html#a9049a8d91200b878cc2a1b9b80a280ea">IRCarrierAc64::setOnTimer</a></div><div class="ttdeci">void setOnTimer(const uint16_t nr_of_mins)</div><div class="ttdoc">Set the On Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:468</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a6f83fc571d5d7d3e3af2237367e66884"><div class="ttname"><a href="classIRCarrierAc64.html#a6f83fc571d5d7d3e3af2237367e66884">IRCarrierAc64::getRaw</a></div><div class="ttdeci">uint64_t getRaw(void)</div><div class="ttdoc">Get a copy of the internal state as a valid code for this protocol.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:294</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a8e94b1526b26cec55f1e700c86aaf74e"><div class="ttname"><a href="classIRCarrierAc64.html#a8e94b1526b26cec55f1e700c86aaf74e">IRCarrierAc64::convertMode</a></div><div class="ttdeci">static uint8_t convertMode(const stdAc::opmode_t mode)</div><div class="ttdoc">Convert a standard A/C mode into its native mode.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:358</div></div>
<div class="ttc" id="aIRremoteESP8266_8h_html_a8b2b3670dc74ce9fbf3c8b511422a06c"><div class="ttname"><a href="IRremoteESP8266_8h.html#a8b2b3670dc74ce9fbf3c8b511422a06c">kCarrierAc64MinRepeat</a></div><div class="ttdeci">const uint16_t kCarrierAc64MinRepeat</div><div class="ttdef"><b>Definition:</b> IRremoteESP8266.h:1178</div></div>
<div class="ttc" id="air__Carrier_8h_html_aaeee61e5924bdc8028c4775f96ba14d2"><div class="ttname"><a href="ir__Carrier_8h.html#aaeee61e5924bdc8028c4775f96ba14d2">kCarrierAc64FanLow</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanLow</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:77</div></div>
<div class="ttc" id="air__Carrier_8h_html_a12d1fb295a0d9cf407040ab544acc245"><div class="ttname"><a href="ir__Carrier_8h.html#a12d1fb295a0d9cf407040ab544acc245">kCarrierAc64FanAuto</a></div><div class="ttdeci">const uint8_t kCarrierAc64FanAuto</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:76</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a5a9149acc82fcc22a5be8dcbe791ab77"><div class="ttname"><a href="classIRCarrierAc64.html#a5a9149acc82fcc22a5be8dcbe791ab77">IRCarrierAc64::toCommonFanSpeed</a></div><div class="ttdeci">static stdAc::fanspeed_t toCommonFanSpeed(const uint8_t speed)</div><div class="ttdoc">Convert a native fan speed into its stdAc equivalent.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:409</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a1a09f5c8340a2e7e074a332bf4906dfd"><div class="ttname"><a href="unionCarrierProtocol.html#a1a09f5c8340a2e7e074a332bf4906dfd">CarrierProtocol::raw</a></div><div class="ttdeci">uint64_t raw</div><div class="ttdoc">The state of the IR remote.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:36</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a312027468b508e9d38dd9e23ee99f9e4"><div class="ttname"><a href="classIRCarrierAc64.html#a312027468b508e9d38dd9e23ee99f9e4">IRCarrierAc64::setFan</a></div><div class="ttdeci">void setFan(const uint8_t speed)</div><div class="ttdoc">Set the speed of the fan.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:385</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ae462eeec49ff91358f1b9921750ee36d"><div class="ttname"><a href="classIRCarrierAc64.html#ae462eeec49ff91358f1b9921750ee36d">IRCarrierAc64::setMode</a></div><div class="ttdeci">void setMode(const uint8_t mode)</div><div class="ttdoc">Set the operating mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:343</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a61a3f9f29cabc0634a9a74fc2227d8c5"><div class="ttname"><a href="classIRCarrierAc64.html#a61a3f9f29cabc0634a9a74fc2227d8c5">IRCarrierAc64::setSwingV</a></div><div class="ttdeci">void setSwingV(const bool on)</div><div class="ttdoc">Set the Vertical Swing mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:420</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_aa729dbef39afeeed8e83f26b927d3b21"><div class="ttname"><a href="classIRCarrierAc64.html#aa729dbef39afeeed8e83f26b927d3b21">IRCarrierAc64::setSleep</a></div><div class="ttdeci">void setSleep(const bool on)</div><div class="ttdoc">Set the Sleep mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:432</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a4a0fdf34836b1c954b27c9b242324679"><div class="ttname"><a href="classIRCarrierAc64.html#a4a0fdf34836b1c954b27c9b242324679">IRCarrierAc64::_cancelOffTimer</a></div><div class="ttdeci">void _cancelOffTimer(void)</div><div class="ttdoc">Clear the Off Timer enable bit.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:479</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a2807d30650f50653118dad5d10c52921"><div class="ttname"><a href="classIRCarrierAc64.html#a2807d30650f50653118dad5d10c52921">IRCarrierAc64::toString</a></div><div class="ttdeci">String toString(void) const</div><div class="ttdoc">Convert the internal state into a human readable string.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:510</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_ae999122072e0dd1e9b83120292bc6256"><div class="ttname"><a href="classIRCarrierAc64.html#ae999122072e0dd1e9b83120292bc6256">IRCarrierAc64::getSleep</a></div><div class="ttdeci">bool getSleep(void) const</div><div class="ttdoc">Get the Sleep mode of the A/C.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:445</div></div>
<div class="ttc" id="astructstdAc_1_1state__t_html"><div class="ttname"><a href="structstdAc_1_1state__t.html">stdAc::state_t</a></div><div class="ttdoc">Structure to hold a common A/C state.</div><div class="ttdef"><b>Definition:</b> IRsend.h:114</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_a43fb183022e8b4aef36bee0cb0cd9aaa"><div class="ttname"><a href="unionCarrierProtocol.html#a43fb183022e8b4aef36bee0cb0cd9aaa">CarrierProtocol::Temp</a></div><div class="ttdeci">uint8_t Temp</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:47</div></div>
<div class="ttc" id="aunionCarrierProtocol_html_aadf3236a9a5883fc7f263516be951e0c"><div class="ttname"><a href="unionCarrierProtocol.html#aadf3236a9a5883fc7f263516be951e0c">CarrierProtocol::OnTimerEnable</a></div><div class="ttdeci">uint8_t OnTimerEnable</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:55</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a0426f9c043b65b0d0d870f7ef5474ed9"><div class="ttname"><a href="classIRCarrierAc64.html#a0426f9c043b65b0d0d870f7ef5474ed9">IRCarrierAc64::getFan</a></div><div class="ttdeci">uint8_t getFan(void) const</div><div class="ttdoc">Get the current fan speed setting.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:379</div></div>
<div class="ttc" id="aclassIRCarrierAc64_html_a57f606d89eb29dafc18a2461467ad74f"><div class="ttname"><a href="classIRCarrierAc64.html#a57f606d89eb29dafc18a2461467ad74f">IRCarrierAc64::getOnTimer</a></div><div class="ttdeci">uint16_t getOnTimer(void) const</div><div class="ttdoc">Get the current On Timer time.</div><div class="ttdef"><b>Definition:</b> ir_Carrier.cpp:457</div></div>
<div class="ttc" id="air__Carrier_8h_html_a3aa65474b5be8c77d498b7e83d8b8f31"><div class="ttname"><a href="ir__Carrier_8h.html#a3aa65474b5be8c77d498b7e83d8b8f31">kCarrierAc64ChecksumOffset</a></div><div class="ttdeci">const uint8_t kCarrierAc64ChecksumOffset</div><div class="ttdef"><b>Definition:</b> ir_Carrier.h:71</div></div>
<div class="ttc" id="anamespacestdAc_html_a99ad268c783486f9b3207cb78f48444f"><div class="ttname"><a href="namespacestdAc.html#a99ad268c783486f9b3207cb78f48444f">stdAc::opmode_t</a></div><div class="ttdeci">opmode_t</div><div class="ttdoc">Common A/C settings for A/C operating modes.</div><div class="ttdef"><b>Definition:</b> IRsend.h:49</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
